Balthazar Blake (Nicolas Cage) je čarodějným mistrem, který se v současném Manhattanu snaží ubránit město před svým úhlavním nepřítelem Maximem Horvathem (Alfred Molina). Balthazar na to ale sám nestačí a proto vyhledá pomoc Davea Stutlera (Jay Baruchel), zdánlivě obyčejného člověka, který v sobě ale ukrývá netušené možnosti, a učiní z něj navzdory jeho pochybám svého učně. Čaroděj svého nedobrovolného žáka v rychlosti zasvětí do základů tajného umění magie a kouzel a společně se tato neobvyklá dvojice pokouší s pomocí svých schopností postavit jedněm z nejagresivnějších - a nejzákeřnějších - čarodějů všech dob. Dave je nucen v sobě najít veškerou odvahu k tomu, aby jako Čarodějův učeň svůj výcvik přežil, zachránil město a získal srdce své vyvolené.